<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="apihub_v1.html">API hub API</a> . <a href="apihub_v1.projects.html">projects</a> . <a href="apihub_v1.projects.locations.html">locations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.apiHubInstances.html">apiHubInstances()</a></code>
</p>
<p class="firstline">Returns the apiHubInstances Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.apis.html">apis()</a></code>
</p>
<p class="firstline">Returns the apis Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.attributes.html">attributes()</a></code>
</p>
<p class="firstline">Returns the attributes Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.curations.html">curations()</a></code>
</p>
<p class="firstline">Returns the curations Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.dependencies.html">dependencies()</a></code>
</p>
<p class="firstline">Returns the dependencies Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.deployments.html">deployments()</a></code>
</p>
<p class="firstline">Returns the deployments Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.discoveredApiObservations.html">discoveredApiObservations()</a></code>
</p>
<p class="firstline">Returns the discoveredApiObservations Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.externalApis.html">externalApis()</a></code>
</p>
<p class="firstline">Returns the externalApis Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.hostProjectRegistrations.html">hostProjectRegistrations()</a></code>
</p>
<p class="firstline">Returns the hostProjectRegistrations Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.operations.html">operations()</a></code>
</p>
<p class="firstline">Returns the operations Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.plugins.html">plugins()</a></code>
</p>
<p class="firstline">Returns the plugins Resource.</p>

<p class="toc_element">
  <code><a href="apihub_v1.projects.locations.runtimeProjectAttachments.html">runtimeProjectAttachments()</a></code>
</p>
<p class="firstline">Returns the runtimeProjectAttachments Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#collectApiData">collectApiData(location, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Collect API data from a source and push it to Hub's collect layer.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets information about a location.</p>
<p class="toc_element">
  <code><a href="#list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists information about the supported locations for this service.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#lookupRuntimeProjectAttachment">lookupRuntimeProjectAttachment(name, x__xgafv=None)</a></code></p>
<p class="firstline">Look up a runtime project attachment. This API can be called in the context of any project.</p>
<p class="toc_element">
  <code><a href="#searchResources">searchResources(location, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Search across API-Hub resources.</p>
<p class="toc_element">
  <code><a href="#searchResources_next">searchResources_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="collectApiData">collectApiData(location, body=None, x__xgafv=None)</code>
  <pre>Collect API data from a source and push it to Hub&#x27;s collect layer.

Args:
  location: string, Required. The regional location of the API hub instance and its resources. Format: `projects/{project}/locations/{location}` (required)
  body: object, The request body.
    The object takes the form of:

{ # The CollectApiData method&#x27;s request.
  &quot;actionId&quot;: &quot;A String&quot;, # Required. The action ID to be used for collecting the API data. This should map to one of the action IDs specified in action configs in the plugin.
  &quot;apiData&quot;: { # The API data to be collected. # Required. The API data to be collected.
    &quot;apiMetadataList&quot;: { # The message to hold repeated API metadata. # Optional. The list of API metadata.
      &quot;apiMetadata&quot;: [ # Required. The list of API metadata.
        { # The API metadata.
          &quot;api&quot;: { # An API resource in the API Hub. # Required. The API resource to be pushed to Hub&#x27;s collect layer. The ID of the API resource will be generated by Hub to ensure uniqueness across all APIs across systems.
            &quot;apiFunctionalRequirements&quot;: { # The attribute values associated with resource. # Optional. The api functional requirements associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-functional-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;apiRequirements&quot;: { # The attribute values associated with resource. # Optional. The api requirement doc associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;apiStyle&quot;: { # The attribute values associated with resource. # Optional. The style of the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-style` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;apiTechnicalRequirements&quot;: { # The attribute values associated with resource. # Optional. The api technical requirements associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-technical-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the API resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
              &quot;a_key&quot;: { # The attribute values associated with resource.
                &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                  &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                    { # The value that can be assigned to the attribute when the data type is enum.
                      &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                      &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                      &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                      &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                    },
                  ],
                },
                &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                  &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                    &quot;A String&quot;,
                  ],
                },
                &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                  &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                    &quot;A String&quot;,
                  ],
                },
                &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                  &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                    &quot;A String&quot;,
                  ],
                },
              },
            },
            &quot;businessUnit&quot;: { # The attribute values associated with resource. # Optional. The business unit owning the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-business-unit` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the API resource was created.
            &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the API resource.
            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the API resource.
            &quot;documentation&quot;: { # Documentation details. # Optional. The documentation for the API resource.
              &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
            },
            &quot;fingerprint&quot;: &quot;A String&quot;, # Optional. Fingerprint of the API resource. This must be unique for each API resource. It can neither be unset nor be updated to an existing fingerprint of another API resource.
            &quot;maturityLevel&quot;: { # The attribute values associated with resource. # Optional. The maturity level of the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-maturity-level` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the API resource in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}`
            &quot;owner&quot;: { # Owner details. # Optional. Owner details for the API resource.
              &quot;displayName&quot;: &quot;A String&quot;, # Optional. The name of the owner.
              &quot;email&quot;: &quot;A String&quot;, # Required. The email of the owner.
            },
            &quot;selectedVersion&quot;: &quot;A String&quot;, # Optional. The selected version for an API resource. This can be used when special handling is needed on client side for particular version of the API. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
            &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the API resource.
              { # SourceMetadata represents the metadata for a resource at the source.
                &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
                &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
                &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
                &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                  &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                  &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
                },
                &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
              },
            ],
            &quot;targetUser&quot;: { # The attribute values associated with resource. # Optional. The target users for the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-target-user` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;team&quot;: { # The attribute values associated with resource. # Optional. The team owning the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-team` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
            &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the API resource was last updated.
            &quot;versions&quot;: [ # Output only. The list of versions present in an API resource. Note: An API resource can be associated with more than 1 version. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
              &quot;A String&quot;,
            ],
          },
          &quot;originalCreateTime&quot;: &quot;A String&quot;, # Optional. Timestamp indicating when the API was created at the source.
          &quot;originalId&quot;: &quot;A String&quot;, # Optional. The unique identifier of the API in the system where it was originally created.
          &quot;originalUpdateTime&quot;: &quot;A String&quot;, # Required. Timestamp indicating when the API was last updated at the source.
          &quot;versions&quot;: [ # Optional. The list of versions present in an API resource.
            { # The metadata associated with a version of the API resource.
              &quot;deployments&quot;: [ # Optional. The deployments linked to this API version. Note: A particular API version could be deployed to multiple deployments (for dev deployment, UAT deployment, etc.)
                { # The metadata associated with a deployment.
                  &quot;deployment&quot;: { # Details of the deployment where APIs are hosted. A deployment could represent an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud services as well. A deployment entity is a root level entity in the API hub and exists independent of any API. # Required. The deployment resource to be pushed to Hub&#x27;s collect layer. The ID of the deployment will be generated by Hub.
                    &quot;apiVersions&quot;: [ # Output only. The API versions linked to this deployment. Note: A particular deployment could be linked to multiple different API versions (of same or different APIs).
                      &quot;A String&quot;,
                    ],
                    &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the deployment resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
                      &quot;a_key&quot;: { # The attribute values associated with resource.
                        &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                        &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                            { # The value that can be assigned to the attribute when the data type is enum.
                              &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                              &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                              &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                              &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                            },
                          ],
                        },
                        &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                        &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                        &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                      },
                    },
                    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the deployment was created.
                    &quot;deploymentType&quot;: { # The attribute values associated with resource. # Required. The type of deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-deployment-type` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the deployment.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the deployment.
                    &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the deployment.
                      &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
                    },
                    &quot;endpoints&quot;: [ # Required. The endpoints at which this deployment resource is listening for API requests. This could be a list of complete URIs, hostnames or an IP addresses.
                      &quot;A String&quot;,
                    ],
                    &quot;environment&quot;: { # The attribute values associated with resource. # Optional. The environment mapping to this deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-environment` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;managementUrl&quot;: { # The attribute values associated with resource. # Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URL.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`
                    &quot;resourceUri&quot;: &quot;A String&quot;, # Required. The resource URI identifies the deployment within its gateway. For Apigee gateways, its recommended to use the format: organizations/{org}/environments/{env}/apis/{api}. For ex: if a proxy with name `orders` is deployed in `staging` environment of `cymbal` organization, the resource URI would be: `organizations/cymbal/environments/staging/apis/orders`.
                    &quot;slo&quot;: { # The attribute values associated with resource. # Optional. The SLO for this deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-slo` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;sourceEnvironment&quot;: &quot;A String&quot;, # Optional. The environment at source for the deployment. For example: prod, dev, staging, etc.
                    &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the deployment.
                      { # SourceMetadata represents the metadata for a resource at the source.
                        &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
                        &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
                        &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
                        &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                          &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                          &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
                        },
                        &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
                      },
                    ],
                    &quot;sourceProject&quot;: &quot;A String&quot;, # Optional. The project to which the deployment belongs. For GCP gateways, this will refer to the project identifier. For others like Edge/OPDK, this will refer to the org identifier.
                    &quot;sourceUri&quot;: { # The attribute values associated with resource. # Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the deployment was last updated.
                  },
                  &quot;originalCreateTime&quot;: &quot;A String&quot;, # Optional. Timestamp indicating when the deployment was created at the source.
                  &quot;originalId&quot;: &quot;A String&quot;, # Optional. The unique identifier of the deployment in the system where it was originally created.
                  &quot;originalUpdateTime&quot;: &quot;A String&quot;, # Required. Timestamp indicating when the deployment was last updated at the source.
                },
              ],
              &quot;originalCreateTime&quot;: &quot;A String&quot;, # Optional. Timestamp indicating when the version was created at the source.
              &quot;originalId&quot;: &quot;A String&quot;, # Optional. The unique identifier of the version in the system where it was originally created.
              &quot;originalUpdateTime&quot;: &quot;A String&quot;, # Required. Timestamp indicating when the version was last updated at the source.
              &quot;specs&quot;: [ # Optional. The specs associated with this version. Note that an API version can be associated with multiple specs.
                { # The metadata associated with a spec of the API version.
                  &quot;originalCreateTime&quot;: &quot;A String&quot;, # Optional. Timestamp indicating when the spec was created at the source.
                  &quot;originalId&quot;: &quot;A String&quot;, # Optional. The unique identifier of the spec in the system where it was originally created.
                  &quot;originalUpdateTime&quot;: &quot;A String&quot;, # Required. Timestamp indicating when the spec was last updated at the source.
                  &quot;spec&quot;: { # Represents a spec associated with an API version in the API Hub. Note that specs of various types can be uploaded, however parsing of details is supported for OpenAPI spec currently. # Required. The spec resource to be pushed to Hub&#x27;s collect layer. The ID of the spec will be generated by Hub.
                    &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the spec. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
                      &quot;a_key&quot;: { # The attribute values associated with resource.
                        &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                        &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                            { # The value that can be assigned to the attribute when the data type is enum.
                              &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                              &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                              &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                              &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                            },
                          ],
                        },
                        &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                        &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                        &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                          &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                            &quot;A String&quot;,
                          ],
                        },
                      },
                    },
                    &quot;contents&quot;: { # The spec contents. # Optional. Input only. The contents of the uploaded spec.
                      &quot;contents&quot;: &quot;A String&quot;, # Required. The contents of the spec.
                      &quot;mimeType&quot;: &quot;A String&quot;, # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc.
                    },
                    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the spec was created.
                    &quot;details&quot;: { # SpecDetails contains the details parsed from supported spec types. # Output only. Details parsed from the spec.
                      &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the spec.
                      &quot;openApiSpecDetails&quot;: { # OpenApiSpecDetails contains the details parsed from an OpenAPI spec in addition to the fields mentioned in SpecDetails. # Output only. Additional details apart from `OperationDetails` parsed from an OpenAPI spec. The OperationDetails parsed from the spec can be obtained by using ListAPIOperations method.
                        &quot;format&quot;: &quot;A String&quot;, # Output only. The format of the spec.
                        &quot;owner&quot;: { # Owner details. # Output only. Owner details for the spec. This maps to `info.contact` in OpenAPI spec.
                          &quot;displayName&quot;: &quot;A String&quot;, # Optional. The name of the owner.
                          &quot;email&quot;: &quot;A String&quot;, # Required. The email of the owner.
                        },
                        &quot;version&quot;: &quot;A String&quot;, # Output only. The version in the spec. This maps to `info.version` in OpenAPI spec.
                      },
                    },
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the spec. This can contain the file name of the spec.
                    &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the spec. For OpenAPI spec, this will be populated from `externalDocs` in OpenAPI spec.
                      &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
                    },
                    &quot;lintResponse&quot;: { # LintResponse contains the response from the linter. # Optional. The lint response for the spec.
                      &quot;createTime&quot;: &quot;A String&quot;, # Required. Timestamp when the linting response was generated.
                      &quot;issues&quot;: [ # Optional. Array of issues found in the analyzed document.
                        { # Issue contains the details of a single issue found by the linter.
                          &quot;code&quot;: &quot;A String&quot;, # Required. Rule code unique to each rule defined in linter.
                          &quot;message&quot;: &quot;A String&quot;, # Required. Human-readable message describing the issue found by the linter.
                          &quot;path&quot;: [ # Required. An array of strings indicating the location in the analyzed document where the rule was triggered.
                            &quot;A String&quot;,
                          ],
                          &quot;range&quot;: { # Object describing where in the file the issue was found. # Required. Object describing where in the file the issue was found.
                            &quot;end&quot;: { # Point within the file (line and character). # Required. End of the issue.
                              &quot;character&quot;: 42, # Required. Character position within the line (zero-indexed).
                              &quot;line&quot;: 42, # Required. Line number (zero-indexed).
                            },
                            &quot;start&quot;: { # Point within the file (line and character). # Required. Start of the issue.
                              &quot;character&quot;: 42, # Required. Character position within the line (zero-indexed).
                              &quot;line&quot;: 42, # Required. Line number (zero-indexed).
                            },
                          },
                          &quot;severity&quot;: &quot;A String&quot;, # Required. Severity level of the rule violation.
                        },
                      ],
                      &quot;linter&quot;: &quot;A String&quot;, # Required. Name of the linter used.
                      &quot;source&quot;: &quot;A String&quot;, # Required. Name of the linting application.
                      &quot;state&quot;: &quot;A String&quot;, # Required. Lint state represents success or failure for linting.
                      &quot;summary&quot;: [ # Optional. Summary of all issue types and counts for each severity level.
                        { # Count of issues with a given severity.
                          &quot;count&quot;: 42, # Required. Count of issues with the given severity.
                          &quot;severity&quot;: &quot;A String&quot;, # Required. Severity of the issue.
                        },
                      ],
                    },
                    &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the spec. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
                    &quot;parsingMode&quot;: &quot;A String&quot;, # Optional. Input only. Enum specifying the parsing mode for OpenAPI Specification (OAS) parsing.
                    &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the spec.
                      { # SourceMetadata represents the metadata for a resource at the source.
                        &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
                        &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
                        &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
                        &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                          &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                          &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
                        },
                        &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
                      },
                    ],
                    &quot;sourceUri&quot;: &quot;A String&quot;, # Optional. The URI of the spec source in case file is uploaded from an external version control system.
                    &quot;specType&quot;: { # The attribute values associated with resource. # Required. The type of spec. The value should be one of the allowed values defined for `projects/{project}/locations/{location}/attributes/system-spec-type` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. Note, this field is mandatory if content is provided.
                      &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                      &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                          { # The value that can be assigned to the attribute when the data type is enum.
                            &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                            &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                            &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                            &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                          },
                        ],
                      },
                      &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                        &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                          &quot;A String&quot;,
                        ],
                      },
                    },
                    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the spec was last updated.
                  },
                },
              ],
              &quot;version&quot;: { # Represents a version of the API resource in API hub. This is also referred to as the API version. # Required. Represents a version of the API resource in API hub. The ID of the version will be generated by Hub.
                &quot;accreditation&quot;: { # The attribute values associated with resource. # Optional. The accreditations associated with the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-accreditation` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                  &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                  &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                      { # The value that can be assigned to the attribute when the data type is enum.
                        &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                        &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                        &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                        &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                      },
                    ],
                  },
                  &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                },
                &quot;apiOperations&quot;: [ # Output only. The operations contained in the API version. These operations will be added to the version when a new spec is added or when an existing spec is updated. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
                  &quot;A String&quot;,
                ],
                &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the Version resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
                  &quot;a_key&quot;: { # The attribute values associated with resource.
                    &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                    &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                      &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                        { # The value that can be assigned to the attribute when the data type is enum.
                          &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                          &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                          &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                        },
                      ],
                    },
                    &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                      &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                        &quot;A String&quot;,
                      ],
                    },
                    &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                      &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                        &quot;A String&quot;,
                      ],
                    },
                    &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                      &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                        &quot;A String&quot;,
                      ],
                    },
                  },
                },
                &quot;compliance&quot;: { # The attribute values associated with resource. # Optional. The compliance associated with the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-compliance` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                  &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                  &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                      { # The value that can be assigned to the attribute when the data type is enum.
                        &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                        &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                        &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                        &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                      },
                    ],
                  },
                  &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                },
                &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the version was created.
                &quot;definitions&quot;: [ # Output only. The definitions contained in the API version. These definitions will be added to the version when a new spec is added or when an existing spec is updated. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}`
                  &quot;A String&quot;,
                ],
                &quot;deployments&quot;: [ # Optional. The deployments linked to this API version. Note: A particular API version could be deployed to multiple deployments (for dev deployment, UAT deployment, etc) Format is `projects/{project}/locations/{location}/deployments/{deployment}`
                  &quot;A String&quot;,
                ],
                &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the version.
                &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the version.
                &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the version.
                  &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
                },
                &quot;lifecycle&quot;: { # The attribute values associated with resource. # Optional. The lifecycle of the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-lifecycle` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
                  &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
                  &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                      { # The value that can be assigned to the attribute when the data type is enum.
                        &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                        &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                        &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                        &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                      },
                    ],
                  },
                  &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                    &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                      &quot;A String&quot;,
                    ],
                  },
                },
                &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the version. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
                &quot;selectedDeployment&quot;: &quot;A String&quot;, # Optional. The selected deployment for a Version resource. This can be used when special handling is needed on client side for a particular deployment linked to the version. Format is `projects/{project}/locations/{location}/deployments/{deployment}`
                &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the version.
                  { # SourceMetadata represents the metadata for a resource at the source.
                    &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
                    &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
                    &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
                    &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                      &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                      &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
                    },
                    &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
                  },
                ],
                &quot;specs&quot;: [ # Output only. The specs associated with this version. Note that an API version can be associated with multiple specs. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
                  &quot;A String&quot;,
                ],
                &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the version was last updated.
              },
            },
          ],
        },
      ],
    },
  },
  &quot;collectionType&quot;: &quot;A String&quot;, # Required. The type of collection. Applies to all entries in api_data.
  &quot;pluginInstance&quot;: &quot;A String&quot;, # Required. The plugin instance collecting the API data. Format: `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Gets information about a location.

Args:
  name: string, Resource name for the location. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A resource that represents a Google Cloud location.
  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists information about the supported locations for this service.

Args:
  name: string, The resource that owns the locations collection, if applicable. (required)
  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
  filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `&quot;displayName=tokyo&quot;`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
  pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response message for Locations.ListLocations.
  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
    { # A resource that represents a Google Cloud location.
      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="lookupRuntimeProjectAttachment">lookupRuntimeProjectAttachment(name, x__xgafv=None)</code>
  <pre>Look up a runtime project attachment. This API can be called in the context of any project.

Args:
  name: string, Required. Runtime project ID to look up runtime project attachment for. Lookup happens across all regions. Expected format: `projects/{project}/locations/{location}`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The ListRuntimeProjectAttachments method&#x27;s response.
  &quot;runtimeProjectAttachment&quot;: { # Runtime project attachment represents an attachment from the runtime project to the host project. Api Hub looks for deployments in the attached runtime projects and creates corresponding resources in Api Hub for the discovered deployments. # Runtime project attachment for a project if exists, empty otherwise.
    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
    &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of a runtime project attachment. Format: &quot;projects/{project}/locations/{location}/runtimeProjectAttachments/{runtime_project_attachment}&quot;.
    &quot;runtimeProject&quot;: &quot;A String&quot;, # Required. Immutable. Google cloud project name in the format: &quot;projects/abc&quot; or &quot;projects/123&quot;. As input, project name with either project id or number are accepted. As output, this field will contain project number.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="searchResources">searchResources(location, body=None, x__xgafv=None)</code>
  <pre>Search across API-Hub resources.

Args:
  location: string, Required. The resource name of the location which will be of the type `projects/{project_id}/locations/{location_id}`. This field is used to identify the instance of API-Hub in which resources should be searched. (required)
  body: object, The request body.
    The object takes the form of:

{ # The SearchResources method&#x27;s request.
  &quot;filter&quot;: &quot;A String&quot;, # Optional. An expression that filters the list of search results. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be `=`. Filters are not case sensitive. The following field names are eligible for filtering: * `resource_type` - The type of resource in the search results. Must be one of the following: `Api`, `ApiOperation`, `Deployment`, `Definition`, `Spec` or `Version`. This field can only be specified once in the filter. Here are is an example: * `resource_type = Api` - The resource_type is _Api_.
  &quot;pageSize&quot;: 42, # Optional. The maximum number of search results to return. The service may return fewer than this value. If unspecified at most 10 search results will be returned. If value is negative then `INVALID_ARGUMENT` error is returned. The maximum value is 25; values above 25 will be coerced to 25. While paginating, you can specify a new page size parameter for each page of search results to be listed.
  &quot;pageToken&quot;: &quot;A String&quot;, # Optional. A page token, received from a previous SearchResources call. Specify this parameter to retrieve the next page of transactions. When paginating, you must specify the `page_token` parameter and all the other parameters except page_size should be specified with the same value which was used in the previous call. If the other fields are set with a different value than the previous call then `INVALID_ARGUMENT` error is returned.
  &quot;query&quot;: &quot;A String&quot;, # Required. The free text search query. This query can contain keywords which could be related to any detail of the API-Hub resources such display names, descriptions, attributes etc.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for the SearchResources method.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Pass this token in the SearchResourcesRequest to continue to list results. If all results have been returned, this field is an empty string or not present in the response.
  &quot;searchResults&quot;: [ # List of search results according to the filter and search query specified. The order of search results represents the ranking.
    { # Represents the search results.
      &quot;resource&quot;: { # ApiHubResource is one of the resources such as Api, Operation, Deployment, Definition, Spec and Version resources stored in API-Hub. # This represents the ApiHubResource. Note: Only selected fields of the resources are populated in response.
        &quot;api&quot;: { # An API resource in the API Hub. # This represents Api resource in search results. Only name, display_name, description and owner fields are populated in search results.
          &quot;apiFunctionalRequirements&quot;: { # The attribute values associated with resource. # Optional. The api functional requirements associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-functional-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;apiRequirements&quot;: { # The attribute values associated with resource. # Optional. The api requirement doc associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;apiStyle&quot;: { # The attribute values associated with resource. # Optional. The style of the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-style` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;apiTechnicalRequirements&quot;: { # The attribute values associated with resource. # Optional. The api technical requirements associated with the API resource. Carinality is 1 for this attribute. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-api-technical-requirements` attribute. The value of the attribute should be a proper URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the API resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;businessUnit&quot;: { # The attribute values associated with resource. # Optional. The business unit owning the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-business-unit` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the API resource was created.
          &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the API resource.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the API resource.
          &quot;documentation&quot;: { # Documentation details. # Optional. The documentation for the API resource.
            &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
          },
          &quot;fingerprint&quot;: &quot;A String&quot;, # Optional. Fingerprint of the API resource. This must be unique for each API resource. It can neither be unset nor be updated to an existing fingerprint of another API resource.
          &quot;maturityLevel&quot;: { # The attribute values associated with resource. # Optional. The maturity level of the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-maturity-level` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the API resource in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}`
          &quot;owner&quot;: { # Owner details. # Optional. Owner details for the API resource.
            &quot;displayName&quot;: &quot;A String&quot;, # Optional. The name of the owner.
            &quot;email&quot;: &quot;A String&quot;, # Required. The email of the owner.
          },
          &quot;selectedVersion&quot;: &quot;A String&quot;, # Optional. The selected version for an API resource. This can be used when special handling is needed on client side for particular version of the API. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
          &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the API resource.
            { # SourceMetadata represents the metadata for a resource at the source.
              &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
              &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
              &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
              &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
              },
              &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
            },
          ],
          &quot;targetUser&quot;: { # The attribute values associated with resource. # Optional. The target users for the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-target-user` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;team&quot;: { # The attribute values associated with resource. # Optional. The team owning the API. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-team` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the API resource was last updated.
          &quot;versions&quot;: [ # Output only. The list of versions present in an API resource. Note: An API resource can be associated with more than 1 version. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
            &quot;A String&quot;,
          ],
        },
        &quot;definition&quot;: { # Represents a definition for example schema, request, response definitions contained in an API version. A definition is added/updated/deleted in an API version when a new spec is added or an existing spec is updated/deleted in a version. Currently, definition will be created only corresponding to OpenAPI spec as parsing is supported for OpenAPI spec. Also, within OpenAPI spec, only `schema` object is supported. # This represents Definition resource in search results. Only name field is populated in search results.
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the definition resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the definition was created.
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the definition. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}`
          &quot;schema&quot;: { # The schema details derived from the spec. Currently, this entity is supported for OpenAPI spec only. For OpenAPI spec, this maps to the schema defined in the `definitions` section for OpenAPI 2.0 version and in `components.schemas` section for OpenAPI 3.0 and 3.1 version. # Output only. The value of a schema definition.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the schema. This will map to the name of the schema in the spec.
            &quot;rawValue&quot;: &quot;A String&quot;, # Output only. The raw value of the schema definition corresponding to the schema name in the spec.
          },
          &quot;spec&quot;: &quot;A String&quot;, # Output only. The name of the spec from where the definition was parsed. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
          &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the definition.
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the definition was last updated.
        },
        &quot;deployment&quot;: { # Details of the deployment where APIs are hosted. A deployment could represent an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud services as well. A deployment entity is a root level entity in the API hub and exists independent of any API. # This represents Deployment resource in search results. Only name, display_name, description, deployment_type and api_versions fields are populated in search results.
          &quot;apiVersions&quot;: [ # Output only. The API versions linked to this deployment. Note: A particular deployment could be linked to multiple different API versions (of same or different APIs).
            &quot;A String&quot;,
          ],
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the deployment resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the deployment was created.
          &quot;deploymentType&quot;: { # The attribute values associated with resource. # Required. The type of deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-deployment-type` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the deployment.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the deployment.
          &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the deployment.
            &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
          },
          &quot;endpoints&quot;: [ # Required. The endpoints at which this deployment resource is listening for API requests. This could be a list of complete URIs, hostnames or an IP addresses.
            &quot;A String&quot;,
          ],
          &quot;environment&quot;: { # The attribute values associated with resource. # Optional. The environment mapping to this deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-environment` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;managementUrl&quot;: { # The attribute values associated with resource. # Optional. The uri where users can navigate to for the management of the deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-management-url` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URL.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}`
          &quot;resourceUri&quot;: &quot;A String&quot;, # Required. The resource URI identifies the deployment within its gateway. For Apigee gateways, its recommended to use the format: organizations/{org}/environments/{env}/apis/{api}. For ex: if a proxy with name `orders` is deployed in `staging` environment of `cymbal` organization, the resource URI would be: `organizations/cymbal/environments/staging/apis/orders`.
          &quot;slo&quot;: { # The attribute values associated with resource. # Optional. The SLO for this deployment. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-slo` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;sourceEnvironment&quot;: &quot;A String&quot;, # Optional. The environment at source for the deployment. For example: prod, dev, staging, etc.
          &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the deployment.
            { # SourceMetadata represents the metadata for a resource at the source.
              &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
              &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
              &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
              &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
              },
              &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
            },
          ],
          &quot;sourceProject&quot;: &quot;A String&quot;, # Optional. The project to which the deployment belongs. For GCP gateways, this will refer to the project identifier. For others like Edge/OPDK, this will refer to the org identifier.
          &quot;sourceUri&quot;: { # The attribute values associated with resource. # Optional. The uri where additional source specific information for this deployment can be found. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-source-uri` The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. The value of the attribute should be a valid URI, and in case of Cloud Storage URI, it should point to a Cloud Storage object, not a directory.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the deployment was last updated.
        },
        &quot;operation&quot;: { # Represents an operation contained in an API version in the API Hub. An operation is added/updated/deleted in an API version when a new spec is added or an existing spec is updated/deleted in a version. Currently, an operation will be created only corresponding to OpenAPI spec as parsing is supported for OpenAPI spec. Alternatively operations can be managed via create,update and delete APIs, creation of apiOperation can be possible only for version with no parsed operations and update/delete can be possible only for operations created via create API. # This represents ApiOperation resource in search results. Only name, description, spec and details fields are populated in search results.
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the API operation resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the operation was created.
          &quot;details&quot;: { # The operation details parsed from the spec. # Optional. Operation details. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.
            &quot;deprecated&quot;: True or False, # Optional. For OpenAPI spec, this will be set if `operation.deprecated`is marked as `true` in the spec.
            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the operation behavior. For OpenAPI spec, this will map to `operation.description` in the spec, in case description is empty, `operation.summary` will be used.
            &quot;documentation&quot;: { # Documentation details. # Optional. Additional external documentation for this operation. For OpenAPI spec, this will map to `operation.documentation` in the spec.
              &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
            },
            &quot;httpOperation&quot;: { # The HTTP Operation. # The HTTP Operation.
              &quot;method&quot;: &quot;A String&quot;, # Optional. Operation method Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.
              &quot;path&quot;: { # The path details derived from the spec. # Optional. The path details for the Operation. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.
                &quot;description&quot;: &quot;A String&quot;, # Optional. A short description for the path applicable to all operations.
                &quot;path&quot;: &quot;A String&quot;, # Optional. Complete path relative to server endpoint. Note: Even though this field is optional, it is required for CreateApiOperation API and we will fail the request if not provided.
              },
            },
          },
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the operation. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
          &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the API operation.
            { # SourceMetadata represents the metadata for a resource at the source.
              &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
              &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
              &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
              &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
              },
              &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
            },
          ],
          &quot;spec&quot;: &quot;A String&quot;, # Output only. The name of the spec will be of the format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}` Note:The name of the spec will be empty if the operation is created via CreateApiOperation API.
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the operation was last updated.
        },
        &quot;spec&quot;: { # Represents a spec associated with an API version in the API Hub. Note that specs of various types can be uploaded, however parsing of details is supported for OpenAPI spec currently. # This represents Spec resource in search results. Only name, display_name, description, spec_type and documentation fields are populated in search results.
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the spec. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;contents&quot;: { # The spec contents. # Optional. Input only. The contents of the uploaded spec.
            &quot;contents&quot;: &quot;A String&quot;, # Required. The contents of the spec.
            &quot;mimeType&quot;: &quot;A String&quot;, # Required. The mime type of the content for example application/json, application/yaml, application/wsdl etc.
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the spec was created.
          &quot;details&quot;: { # SpecDetails contains the details parsed from supported spec types. # Output only. Details parsed from the spec.
            &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the spec.
            &quot;openApiSpecDetails&quot;: { # OpenApiSpecDetails contains the details parsed from an OpenAPI spec in addition to the fields mentioned in SpecDetails. # Output only. Additional details apart from `OperationDetails` parsed from an OpenAPI spec. The OperationDetails parsed from the spec can be obtained by using ListAPIOperations method.
              &quot;format&quot;: &quot;A String&quot;, # Output only. The format of the spec.
              &quot;owner&quot;: { # Owner details. # Output only. Owner details for the spec. This maps to `info.contact` in OpenAPI spec.
                &quot;displayName&quot;: &quot;A String&quot;, # Optional. The name of the owner.
                &quot;email&quot;: &quot;A String&quot;, # Required. The email of the owner.
              },
              &quot;version&quot;: &quot;A String&quot;, # Output only. The version in the spec. This maps to `info.version` in OpenAPI spec.
            },
          },
          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the spec. This can contain the file name of the spec.
          &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the spec. For OpenAPI spec, this will be populated from `externalDocs` in OpenAPI spec.
            &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
          },
          &quot;lintResponse&quot;: { # LintResponse contains the response from the linter. # Optional. The lint response for the spec.
            &quot;createTime&quot;: &quot;A String&quot;, # Required. Timestamp when the linting response was generated.
            &quot;issues&quot;: [ # Optional. Array of issues found in the analyzed document.
              { # Issue contains the details of a single issue found by the linter.
                &quot;code&quot;: &quot;A String&quot;, # Required. Rule code unique to each rule defined in linter.
                &quot;message&quot;: &quot;A String&quot;, # Required. Human-readable message describing the issue found by the linter.
                &quot;path&quot;: [ # Required. An array of strings indicating the location in the analyzed document where the rule was triggered.
                  &quot;A String&quot;,
                ],
                &quot;range&quot;: { # Object describing where in the file the issue was found. # Required. Object describing where in the file the issue was found.
                  &quot;end&quot;: { # Point within the file (line and character). # Required. End of the issue.
                    &quot;character&quot;: 42, # Required. Character position within the line (zero-indexed).
                    &quot;line&quot;: 42, # Required. Line number (zero-indexed).
                  },
                  &quot;start&quot;: { # Point within the file (line and character). # Required. Start of the issue.
                    &quot;character&quot;: 42, # Required. Character position within the line (zero-indexed).
                    &quot;line&quot;: 42, # Required. Line number (zero-indexed).
                  },
                },
                &quot;severity&quot;: &quot;A String&quot;, # Required. Severity level of the rule violation.
              },
            ],
            &quot;linter&quot;: &quot;A String&quot;, # Required. Name of the linter used.
            &quot;source&quot;: &quot;A String&quot;, # Required. Name of the linting application.
            &quot;state&quot;: &quot;A String&quot;, # Required. Lint state represents success or failure for linting.
            &quot;summary&quot;: [ # Optional. Summary of all issue types and counts for each severity level.
              { # Count of issues with a given severity.
                &quot;count&quot;: 42, # Required. Count of issues with the given severity.
                &quot;severity&quot;: &quot;A String&quot;, # Required. Severity of the issue.
              },
            ],
          },
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the spec. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
          &quot;parsingMode&quot;: &quot;A String&quot;, # Optional. Input only. Enum specifying the parsing mode for OpenAPI Specification (OAS) parsing.
          &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the spec.
            { # SourceMetadata represents the metadata for a resource at the source.
              &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
              &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
              &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
              &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
              },
              &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
            },
          ],
          &quot;sourceUri&quot;: &quot;A String&quot;, # Optional. The URI of the spec source in case file is uploaded from an external version control system.
          &quot;specType&quot;: { # The attribute values associated with resource. # Required. The type of spec. The value should be one of the allowed values defined for `projects/{project}/locations/{location}/attributes/system-spec-type` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. Note, this field is mandatory if content is provided.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the spec was last updated.
        },
        &quot;version&quot;: { # Represents a version of the API resource in API hub. This is also referred to as the API version. # This represents Version resource in search results. Only name, display_name, description, lifecycle, compliance and accreditation fields are populated in search results.
          &quot;accreditation&quot;: { # The attribute values associated with resource. # Optional. The accreditations associated with the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-accreditation` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;apiOperations&quot;: [ # Output only. The operations contained in the API version. These operations will be added to the version when a new spec is added or when an existing spec is updated. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
            &quot;A String&quot;,
          ],
          &quot;attributes&quot;: { # Optional. The list of user defined attributes associated with the Version resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            &quot;a_key&quot;: { # The attribute values associated with resource.
              &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                    &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
              &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                  &quot;A String&quot;,
                ],
              },
            },
          },
          &quot;compliance&quot;: { # The attribute values associated with resource. # Optional. The compliance associated with the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-compliance` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the version was created.
          &quot;definitions&quot;: [ # Output only. The definitions contained in the API version. These definitions will be added to the version when a new spec is added or when an existing spec is updated. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}`
            &quot;A String&quot;,
          ],
          &quot;deployments&quot;: [ # Optional. The deployments linked to this API version. Note: A particular API version could be deployed to multiple deployments (for dev deployment, UAT deployment, etc) Format is `projects/{project}/locations/{location}/deployments/{deployment}`
            &quot;A String&quot;,
          ],
          &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the version.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the version.
          &quot;documentation&quot;: { # Documentation details. # Optional. The documentation of the version.
            &quot;externalUri&quot;: &quot;A String&quot;, # Optional. The uri of the externally hosted documentation.
          },
          &quot;lifecycle&quot;: { # The attribute values associated with resource. # Optional. The lifecycle of the API version. This maps to the following system defined attribute: `projects/{project}/locations/{location}/attributes/system-lifecycle` attribute. The number of values for this attribute will be based on the cardinality of the attribute. The same can be retrieved via GetAttribute API. All values should be from the list of allowed values defined for the attribute.
            &quot;attribute&quot;: &quot;A String&quot;, # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
            &quot;enumValues&quot;: { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is enum.
                { # The value that can be assigned to the attribute when the data type is enum.
                  &quot;description&quot;: &quot;A String&quot;, # Optional. The detailed description of the allowed value.
                  &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the allowed value.
                  &quot;id&quot;: &quot;A String&quot;, # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                  &quot;immutable&quot;: True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                },
              ],
            },
            &quot;jsonValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;stringValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
            &quot;uriValues&quot;: { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
              &quot;values&quot;: [ # Required. The attribute values in case attribute data type is string or JSON.
                &quot;A String&quot;,
              ],
            },
          },
          &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the version. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
          &quot;selectedDeployment&quot;: &quot;A String&quot;, # Optional. The selected deployment for a Version resource. This can be used when special handling is needed on client side for a particular deployment linked to the version. Format is `projects/{project}/locations/{location}/deployments/{deployment}`
          &quot;sourceMetadata&quot;: [ # Output only. The list of sources and metadata from the sources of the version.
            { # SourceMetadata represents the metadata for a resource at the source.
              &quot;originalResourceCreateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was created at the source.
              &quot;originalResourceId&quot;: &quot;A String&quot;, # Output only. The unique identifier of the resource at the source.
              &quot;originalResourceUpdateTime&quot;: &quot;A String&quot;, # Output only. The time at which the resource was last updated at the source.
              &quot;pluginInstanceActionSource&quot;: { # PluginInstanceActionSource represents the plugin instance action source. # Output only. The source of the resource is a plugin instance action.
                &quot;actionId&quot;: &quot;A String&quot;, # Output only. The id of the plugin instance action.
                &quot;pluginInstance&quot;: &quot;A String&quot;, # Output only. The resource name of the source plugin instance. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
              },
              &quot;sourceType&quot;: &quot;A String&quot;, # Output only. The type of the source.
            },
          ],
          &quot;specs&quot;: [ # Output only. The specs associated with this version. Note that an API version can be associated with multiple specs. Format is `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
            &quot;A String&quot;,
          ],
          &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the version was last updated.
        },
      },
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="searchResources_next">searchResources_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

</body></html>